|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
public interface GPCLRegistryEntry
Defines methods that manage the GlobalPlatform registry extension on contactless interface for an applet.
The caller shall use to
retrieve an OPEN owned interface object.
GPCLSystem.getGPCLRegistryEntry(AID)
All GPRegistryEntry of Application installed will be extended by this interface.
When the application represented by a object is deleted,
and Logically Deleted with References, then this GPCLRegistryEntry object shall be
disabled and all its methods shall throw an GPCLRegistryEntryjavacard.framework.SystemException
with reason code SystemException.ILLEGAL_USE.
The OPEN shall ensure that this object can never be re-enabled,
even if an application with the same AID as the deleted application
(previously bound to this GPCLRegistryEntry object) is installed.
An application holding a reference to a disabled GPCLRegistryEntry object
should release it, as it has become useless and will only throw exceptions.
GPCLRegistryEntry
Note: Developer shall pay attention of CRELApplication , CLApplet and CRSApplication
notifications when using the service interface. Thus it is strongly recommended do not call
service provided by this interface under transaction.
GPCLSystem.getGPCLRegistryEntry(AID)| Field Summary | |
|---|---|
static byte |
IMPLICIT_SELECTION_TYPE_A
Constant indicating that the application supports contactless protocol Type A for implicit selection |
static byte |
IMPLICIT_SELECTION_TYPE_B
Constant indicating that the application supports contactless protocol Type B for implicit selection |
static byte |
IMPLICIT_SELECTION_TYPE_F
Constant indicating that the application supports contactless protocol Type F for implicit selection |
static short |
INFO_CONTINUOUS_PROCESS
The Application continuous processing is a Byte value 1 Continuous Processing 0 Interleave Processing |
static short |
INFO_COUNTER_UPDATE
The GPCLentry update counter. |
static short |
INFO_DISCRETIONARY_DATA
The requested information is discretionary data. |
static short |
INFO_DISPLAY_REQUIREMENT
The GPCLRegistryEntry display on off requirement. |
static short |
INFO_FAMILY_IDENTIFIER
The Application family identifier is a short value. |
static short |
INFO_IMPLICIT_SELECTION_PROTOCOLS
The supported protocol Type A, Type B or / and Type F. |
static short |
INFO_LOGO
The requested information is a LOGO. |
static short |
INFO_PROTOCOL_DATA_TYPE_A
The requested information is the PROTOCOL_DATA_TYPE_A. |
static short |
INFO_PROTOCOL_DATA_TYPE_B
The requested information is the PROTOCOL_DATA_TYPE_B. |
static short |
INFO_PROTOCOL_DATA_TYPE_F
The requested information is the PROTOCOL_DATA_TYPE_F. |
static short |
INFO_URI
The requested information is an URI. |
static byte |
PRIVILEGE_CONTACTLESS_ACTIVATION
Contactless Activation privilege (18). |
static byte |
PRIVILEGE_CONTACTLESS_SELF_ACTIVATION
Self Activation privilege (19). |
static byte |
STATE_CL_ACTIVATED
Constant used to activate an applet on the contactless interface. |
static byte |
STATE_CL_DEACTIVATED
Constant used to deactivate an applet on the contactless interface. |
static byte |
STATE_CL_NON_ACTIVATABLE
Constant used to change the state of an applet to NON ACTIVATABLE over the contactless interface. |
| Fields inherited from interface org.globalplatform.GPRegistryEntry |
|---|
PRIVILEGE_AUTHORIZED_MANAGEMENT, PRIVILEGE_CARD_LOCK, PRIVILEGE_CARD_RESET, PRIVILEGE_CARD_TERMINATE, PRIVILEGE_CIPHERED_LOAD_FILE_DATA_BLOCK, PRIVILEGE_CVM_MANAGEMENT, PRIVILEGE_DAP_VERIFICATION, PRIVILEGE_DELEGATED_MANAGEMENT, PRIVILEGE_FINAL_APPLICATION, PRIVILEGE_GLOBAL_DELETE, PRIVILEGE_GLOBAL_LOCK, PRIVILEGE_GLOBAL_REGISTRY, PRIVILEGE_GLOBAL_SERVICE, PRIVILEGE_MANDATED_DAP, PRIVILEGE_RECEIPT_GENERATION, PRIVILEGE_SECURITY_DOMAIN, PRIVILEGE_TOKEN_VERIFICATION, PRIVILEGE_TRUSTED_PATH |
| Method Summary | |
|---|---|
void |
addToCRELApplicationList(byte[] baAID,
short offsetAID,
short lengthAID)
This method add an AID to the CREL Application list referenced by this GPCLRegistryEntry |
void |
addToGroupAuthorizationList(byte[] baAID,
short offsetAID,
short lengthAID)
This method is used to add an AID to the Group Authorization list. |
byte |
getCLState()
This method returns the contactless life cycle state of application. |
short |
getInfo(byte[] buffer,
short offset,
short info)
Returns the contents of the Application Information entry in the GlobalPlatform registry. |
GPCLRegistryEntry |
getNextConflictingApplication(GPCLRegistryEntry oEntry)
This method allows iteration over the currently activated contactless applets that would conflict if the applet associated with this entry was activated. |
GPCLRegistryEntry |
getNextCRELApplication(GPCLRegistryEntry oEntry)
Retrieve the list of CREL applications referenced by this GPCLRegistryEntry |
GPCLRegistryEntry |
getNextGroupMember(GPCLRegistryEntry oEntry)
Retrieves the list of application grouped with this Head Application. |
GPCLRegistryEntry |
getNextReferencingApplication(GPCLRegistryEntry oEntry)
Retrieve the list of applications that reference this CRELApplication's GPCLRegistryEntry |
boolean |
isGroupHead()
Does this GPCLRegistryEntry represents a group's Head. |
boolean |
isGroupMember()
Does this GPCLRegistryEntry represents a group's Member. |
void |
joinGroup(javacard.framework.AID oHead)
Associates the GPCLRegistryEntry to which this GPCLRegistryEntry delegates its
information parameters (i.e. head application). |
void |
removeFromCRELApplicationList(byte[] baAID,
short offsetAID,
short lengthAID)
This method removes an AID from the CREL Application list referenced by this GPCLRegistryEntry |
void |
removeFromGroupAuthorizationList(byte[] baAID,
short offsetAID,
short lengthAID)
This method is used to remove an AID from the Group Authorization list. |
byte |
setCLState(byte state)
Changes the contactless life cycle state of the applet associated with this GPCLRegistryEntry. |
short |
setInfo(byte[] buffer,
short offset,
short length,
short info)
Update the contents of the Information associated to this . |
void |
setPartialSelectionOrder(boolean TopBottom)
Manage the GlobalPlatform registry order for partial selection priority. |
| Methods inherited from interface org.globalplatform.GPRegistryEntry |
|---|
deregisterService, getAID, getPrivileges, getState, isAssociated, isPrivileged, registerService, setState |
| Field Detail |
|---|
static final byte PRIVILEGE_CONTACTLESS_ACTIVATION
static final byte PRIVILEGE_CONTACTLESS_SELF_ACTIVATION
static final byte STATE_CL_NON_ACTIVATABLE
static final byte STATE_CL_ACTIVATED
static final byte STATE_CL_DEACTIVATED
static final short INFO_URI
static final short INFO_DISCRETIONARY_DATA
static final short INFO_LOGO
static final short INFO_PROTOCOL_DATA_TYPE_A
static final short INFO_PROTOCOL_DATA_TYPE_B
static final short INFO_PROTOCOL_DATA_TYPE_F
static final short INFO_FAMILY_IDENTIFIER
static final short INFO_IMPLICIT_SELECTION_PROTOCOLS
Encoding of this information is a sequence of bytes representing the value(s) of one or more of the following constants.
IMPLICIT_SELECTION_TYPE_A
IMPLICIT_SELECTION_TYPE_B
IMPLICIT_SELECTION_TYPE_F
If the sequence is empty, the application can be implicity selected
using any of these protocol types (see definition of TLV "Assigned
Protocol for Implicit Selection").
static final short INFO_CONTINUOUS_PROCESS
static final short INFO_COUNTER_UPDATE
GPCLRegistryEntry information is updated this counter is incremented.
Used to synchronize the CRS/CREL application list.
static final short INFO_DISPLAY_REQUIREMENT
static final byte IMPLICIT_SELECTION_TYPE_A
static final byte IMPLICIT_SELECTION_TYPE_B
static final byte IMPLICIT_SELECTION_TYPE_F
| Method Detail |
|---|
byte setCLState(byte state)
GPCLRegistryEntry.
When this entry is a group member and is in STATE_CL_NON_ACTIVATABLE state
then this entry follows the activation state of the Head Application when
state transition of this entry is to STATE_CL_ACTIVATED or
to STATE_CL_DEACTIVATED.
Only the application associated to this entry may transition to the
STATE_CL_NON_ACTIVATABLE state.
The application associated to this entry, or
the Application with the PRIVILEGE_CONTACTLESS_ACTIVATION privilege, or
CREL Applications registered in the investigated applet's CREL list may transition
this entry to the STATE_CL_DEACTIVATED
When the state transition of this entry is to STATE_CL_ACTIVATED, the caller must have
PRIVILEGE_CONTACTLESS_SELF_ACTIVATION privilege or
PRIVILEGE_CONTACTLESS_ACTIVATION privilege
CRSApplication.processCLRequest(GPRegistryEntry, GPCLRegistryEntry, short)setCLState(byte)
to change the application state on the contactless interface.
The OPEN is responsible to notify all Application(s) implementing CRELApplication.notifyCLEvent(GPCLRegistryEntry, short).
If the Application associated to this entry, implements the interface CLApplet and
the Application is not at the origin of the request then
OPEN shall notify the application by calling CLApplet.notifyCLEvent(short)
It shall be supported to change the activation state of a contactless applet irrespective of the state of the contactless front end in the handset. When the contactless functionality is enabled the OPEN shall ensure that the contactless front end is provisioned so that it reflects the configuration of the contactless applets in the OPEN.
state - requested Availability state on Contactless interface
The possible state are
STATE_CL_ACTIVATED
STATE_CL_DEACTIVATED
STATE_CL_NON_ACTIVATABLE
javacard.framework.ISOException - with reason
ISO7816.SW_CONDITIONS_NOT_SATISFIED if
the caller does not have enough privileges.
ISO7816.SW_WRONG_DATA if the application
cannot be activated on the contactless interface because of
conflicting RF parameters.
ISO7816.SW_CONDITIONS_NOT_SATISFIED
if the requested Availability state transition is not valid.
GPRegistryEntrybyte getCLState()
STATE_CL_ACTIVATED
STATE_CL_DEACTIVATED
STATE_CL_NON_ACTIVATABLE
short getInfo(byte[] buffer,
short offset,
short info)
buffer - where requested information shall be written. For the coding of the data
see the documentation of the constants INFO_XX.offset - within buffer, where requested information shall be written.info - is any constant with name INFO_XX which is defined in this interface.
offset + length of data written in buffer)
ISOException - with reason
ISO7816.SW_CONDITION_NOT_SATISFIED if the caller
GPRegistryEntry.PRIVILEGE_GLOBAL_REGISTRY privilege, and
ISO7816.SW_WRONG_DATA if the value of info is unknown.
ISO7816.SW_RECORD_NOT_FOUND if the info is not present.
ArrayIndexOutOfBoundsException - if storing the Application Information bytes would cause
access outside array bounds or the offset is
negative.
NullPointerException - if buffer is null
short setInfo(byte[] buffer,
short offset,
short length,
short info)
GPCLRegistryEntry.
buffer - contains the updated information. For the coding of the data
see the documentation of the constants INFO_XX.offset - within buffer, where updated information can be foundlength - of the updated informationinfo - is any constant with name INFO_XX which is defined in this interface.
offset + length)
ISOException - with reason
ISO7816.SW_CONDITION_NOT_SATISFIED if the caller is not
ISO7816.SW_WRONG_DATA if the value of info is unknown.
ArrayIndexOutOfBoundsException - if storing the Application Information bytes would cause
access outside array bounds or the offset is
negative.
NullPointerException - if buffer is nullGPCLRegistryEntry getNextConflictingApplication(GPCLRegistryEntry oEntry)
oEntry - oEntry is null, this method returns the first Entry representing the first conflicting application.
oEntry is not null, and represents a conflicting application,
this method retrieves the next conflicting application following oEntry, otherwise it shall return null.
oEntry points to the last conflicting application, the method shall return null.
null is returned if no
contactless application is conflicting or the end of the list
has been reached.
ISOException - with reason
ISO7816.SW_CONDITION_NOT_SATISFIED if
caller does not have the PRIVILEGE_CONTACTLESS_ACTIVATION privilege.
void joinGroup(javacard.framework.AID oHead)
GPCLRegistryEntry to which this GPCLRegistryEntry delegates its
information parameters (i.e. head application).
oHead - Head Application's AID
ISOException - with reason
ISO7816.SW_CONDITION_NOT_SATISFIED
GPCLRegistryEntry getNextGroupMember(GPCLRegistryEntry oEntry)
oEntry - search
this does not reference a Head Application, this method returns null.
Otherwise,
oEntry is null, this method returns the first Entry representing the first member of the Application Group.
oEntry is not null, and is a member of the group, this method retrieves the next Entry following
oEntry belonging to the same Application Group, otherwise it shall return null.
oEntry points to the last member of the group, the method shall return null.
PRIVILEGE_CONTACTLESS_ACTIVATION Contactless Activation
ISOException - with reason
ISO7816.SW_CONDITION_NOT_SATISFIED
PRIVILEGE_CONTACTLESS_ACTIVATION and
void addToGroupAuthorizationList(byte[] baAID,
short offsetAID,
short lengthAID)
baAID - contains the AID value to manageoffsetAID - start offset of the AID valuelengthAID - length of the AID value
ISOException - with reason
ISO7816.SW_CONDITION_NOT_SATISFIED
void removeFromGroupAuthorizationList(byte[] baAID,
short offsetAID,
short lengthAID)
baAID - contains the AID value to removedoffsetAID - start offset of the AID valuelengthAID - length of the AID value
ISOException - with reason
ISO7816.SW_CONDITION_NOT_SATISFIED if the caller application is
neither the application itself or the associated Security Domain.void setPartialSelectionOrder(boolean TopBottom)
TopBottom - GPRegistryEntry of this entry, becomes
the first selected on partial selection.
GPRegistryEntry of this entry becomes
the last selected on partial selection.
ISOException - with reason
ISO7816.SW_CONDITION_NOT_SATISFIED if the caller has not PRIVILEGE_CONTACTLESS_ACTIVATIONGPCLRegistryEntry getNextCRELApplication(GPCLRegistryEntry oEntry)
GPCLRegistryEntry
oEntry - search
oEntry is null, this method returns the first Entry representing the first CRELApplication.
oEntry is not null, and represents a CRELApplication CRELApplication reference by this GPCLRegistryEntry,
this method retrieves the next Entry following oEntry referenced by this oEntry points to the last CRELApplication's GPCLRegistryEntry, the method shall return null.
ISOException - with reason
ISO7816.SW_CONDITION_NOT_SATISFIED if the caller has not PRIVILEGE_CONTACTLESS_ACTIVATION
void addToCRELApplicationList(byte[] baAID,
short offsetAID,
short lengthAID)
baAID - contains the CREL Application's AID value to manageoffsetAID - start offset of the CREL Application's AID valuelengthAID - length of the AID value
ISOException - with reason
ISO7816.SW_CONDITION_NOT_SATISFIED if
void removeFromCRELApplicationList(byte[] baAID,
short offsetAID,
short lengthAID)
baAID - contains the CREL Application's AID value to manageoffsetAID - start offset of the CREL Application's AID valuelengthAID - length of the AID value
ISOException - with reason
ISO7816.SW_CONDITIONS_NOT_SATISFIED if
GPCLRegistryEntry getNextReferencingApplication(GPCLRegistryEntry oEntry)
GPCLRegistryEntry
oEntry - search
oEntry is null, this method returns the first Entry representing the first GPCLRegistryEntry, that references this CRELApplication
oEntry is not null, and represents a GPCLRegistryEntry that references this CRELApplication
this method retrieves the next Entry following oEntry referencing this CRELApplication, otherwise it shall return null.
oEntry points to the last CRELApplication's GPCLRegistryEntry, the method shall return null.
CRELApplication interface.
ISOException - with reason
ISO7816.SW_CONDITION_NOT_STATISFIED
if the caller does not implement CRELApplication interface.boolean isGroupHead()
GPCLRegistryEntry represents a group's Head.
true true if this Application is a Group Head,
false otherwise.
ISOException - with reason
ISO7816.SW_CONDITIONS_NOT_SATISFIED if
the caller has not GPRegistryEntry.PRIVILEGE_GLOBAL_REGISTRYboolean isGroupMember()
GPCLRegistryEntry represents a group's Member.
true is this Application is a if this Application is a Group Member,
false if this is a standalone Application.
ISOException - with reason
ISO7816.SW_CONDITIONS_NOT_SATISFIED if
the caller has not GPRegistryEntry.PRIVILEGE_GLOBAL_REGISTRY
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||